home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 145
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin
/
tools
/
sharp
/
sxwork3.lzh
/
サンプル実用編
/
チャート
/
CHART.H
< prev
next >
Wrap
Text File
|
1994-03-10
|
4KB
|
170 lines
/******************************************************************************
* chart.h: chart.cのための関数型宣言および固有の構造体マクロなどを記述する
******************************************************************************
* Workroom SX-68K Sample Program Copyright 1994 SHARP
*
* 定数定義
*/
/* ウィンドウタイトル */
#define WINTITLE ((_LASCII) "\x08チャート")
/* ウィンドウサイズ */
#define WIN_H 400 /* ウィンドウの幅 */
#define WIN_V 320 /* ウィンドウの高さ */
/* 数値調整ボタンのリピート時間(1/100秒単位)*/
#define ADJFIRST 40 /* リピート開始時間 */
#define ADJNEXT 16 /* リピート間隔 */
#define BTNSX 10 /* ボタンの開始座標 */
#define BTNSY 3
#define BTNSL 6
#define GRPX 8 /* グラフ表示開始座標 */
#define GRPY 30
/* 円グラフ項目名表示用 */
#define CRCLSTR 0
#define CRCLEND 90
#define OGIX 270
/* 円グラフ中心点 */
#define CENTERX 150
#define CENTERY (150 + GRPY)
#define RADIUS 100
/* 定数 */
#define KETA1 5965232
#define KETA2 2147483
#define BARGX 320
#define BARTX 30
#define BARTY (GRPY + 230)
#define BARSTX 40
#define BARSTY (GRPY + 50)
#define BAROFF 40
#define BARLEN 250
#define BARSCL 8259551
#define LINESTX 70
#define LINESTY (GRPY + 255)
#define LINEOFF 75
#define LINETX 60
#define LINETY (GRPY + 35)
#define LINEVL 170
#define LINEHL 300
#define LINESCL 11930464
#define RADERSTX 200
#define RADERSTY (GRPY + 160)
/* グラフの種類 */
enum graphKind { GK_INIT, GK_CRCL, GK_BAR, GK_LINE, GK_RADAR };
/* グラフィック画面の色(デフォルトパレット)*/
enum graphColor {
GC_BLACK,
GC_AI,
GC_DBLUE,
GC_BLUE,
GC_DRED,
GC_RED,
GC_DPURPLE,
GC_PURPLE,
GC_DGREEN,
GC_GREEN,
GC_DWBLUE,
GC_WBLUE,
GC_DYELLOW,
GC_YELLOW,
GC_GRAY,
GC_WHITE /* 15 */
};
/* イベントマスク */
#define EVENTMASK (EM_MSLDOWN | EM_UPDATE | EM_ACTIVATE | EM_SYSTEM1 | EM_SYSTEM2)
/*
* 構造体宣言
*/
typedef struct ComVal { /* 共通変数 */
Window *windowPtr; /* ウィンドウポインタ */
BOOLEAN activeFlag; /* アクティブフラグ */
TsEvent event; /* イベントレコード */
int eventMask; /* イベントマスク */
int errorCode; /* エラーコード */
BOOLEAN endFlag; /* 終了フラグ */
int month; /* 今月 */
int day; /* 日付 */
int kind; /* 選択中のグラフの種類 */
int drawMode; /* 描画モード */
Bitmap graphBmap; /* グラフィック描画用ビットマップ */
Bitmap *lastBmapPtr; /* 退避用ビットマップポインタ */
/* [円グラフ]ボタンのコントロールハンドル */
Control **crclBtnHdl;
/* [棒グラフ]ボタンのコントロールハンドル */
Control **barBtnHdl;
/* [折れ線]ボタンのコントロールハンドル */
Control **lineBtnHdl;
/* [レーダー]ボタンのコントロールハンドル */
Control **radarBtnHdl;
/* 月指定調整ボタンのコントロールハンドル */
Control **adjBtnHdl;
int money[12][7]; /* 金額格納 */
int sum[12]; /* 合計値 */
char fileName[TS_NAMEMAX]; /* データファイル名 */
} ComVal;
/*
* 外部変数宣言
*/
extern Rect rcGraph;
extern char *crclTtl[];
extern int gColor[7];
/*
* 関数プロトタイプ
*/
/* chmain.c */
BOOLEAN init(ComVal *);
BOOLEAN createWindow(ComVal *);
BOOLEAN createControl(ComVal *);
void msLDownEvent(ComVal *);
void checkControl(ComVal *);
void keyDownEvent(ComVal *);
void updateEvent(ComVal *);
void drawGraph(ComVal *);
void activateEvent(ComVal *);
void systemEvent(ComVal *);
void showErrDialog(ComVal *);
void endProc(int, ComVal *);
void setGraph(ComVal *, int);
void repeatAdjBtn(ComVal *, int);
void addUpdate(Window *, Rect *);
/* chart.c */
BOOLEAN opening(ComVal *);
int getMaxDay(int);
int lastMonth(int);
void getDate(int *, int *);
void drawTextArea(ComVal *);
void clearDisp(ComVal *);
BOOLEAN readData(ComVal *);
BOOLEAN sumMonth(ComVal *, int, int *, int *);
void drawStrM(char *, LPoint);
void drawStrZ(char *, LPoint);
void changeData(ComVal *);
/* chdraw.c */
void drawCircle(ComVal *);
void drawArc(ComVal *);
void calcRate(ComVal *, int *);
LPoint angleToPos(int, int, int);
void drawRadar(ComVal *);
void drawBar(ComVal *);
void drawLine(ComVal *);
/* chfile.c */
BOOLEAN loadFile(ComVal *, int, int, int *);
BOOLEAN readTable(ComVal *, short *);
int checkDrive(char *, int);